<?php

	interface Bike_Controller_Router_Handler_Interface
	{
	    static public function getInstance();

	    /**
	     * Processes a request and sets its param.  If
	     * no route was possible, an exception is thrown.
	     *
	     * @param  Zend_Controller_Request_Abstract
	     * @throws Bike_Exception
	     * @return array(handlerName => value)
	     */
	    public function route(Zend_Controller_Request_Abstract $Request);
	    /**
	     * Return route param.
	     *
	     * @return array(handlerName => value)
	     */
	    public function getRouteParam();
	    /**
	     * Generates a URL path part that can be used in URL creation, redirection, etc.
	     *
	     * @param  array Params
	     * @return string
	     */
	    public function assemble(array $Params);

	    public function setName($Name);

	    public function getName();
	}
